实现在线预览office文档(word,excel,ppt)的几种方法

您所在的位置:网站首页 word 预览 实现在线预览office文档(word,excel,ppt)的几种方法

实现在线预览office文档(word,excel,ppt)的几种方法

#实现在线预览office文档(word,excel,ppt)的几种方法| 来源: 网络整理| 查看: 265

在日常的生活或者工作中,我们都会用到office文档,但是在大多数人们阅读文档的时候,并不想将网站上的office文档下载到本地,这时候就需要文档在线预览的功能。

 

一些博主知道的实现文档在线预览的方式

1、转换为PDF

2、转换为HTML

3、在服务器上自己部署服务

4、开源项目提供的功能

5、使用第三方提供的付费接口

 2021-05-27更新,最近在逛gitee的时候,发现了这个开源的,完全符合我需求的项目,泪目了,家人们

 话不多说,先挂链接  kkFileView 

该项目是使用spring boot打造文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本如txt、html、xml、java、properties、sql、js、md、json、conf、ini、vue、php、py、bat、gitignore等文件在线预览。

项目特性 支持 office, pdf, cad 等办公文档支持 txt, xml(渲染), md(渲染), java, php, py, js, css 等所有纯文本支持 zip, rar, jar, tar, gzip 等压缩包支持 jpg, jpeg, png, gif, tif, tiff 等图片预览(翻转,缩放,镜像)使用 spring-boot 开发,预览服务搭建部署非常简便rest 接口提供服务,跨语言、跨平台特性(java,php,python,go,php,....)都支持,应用接入简单方便抽象预览服务接口,方便二次开发,非常方便添加其他类型文件预览支持最最重要 Apache 协议开源,代码 pull 下来想干嘛就干嘛

感谢作者及贡献者们的开源

这个项目搭建及使用都非常简单,将作者发布的最新源码使用maven构建打包,在生成包目录kekingcn-file-online-preview-v3.5.1\file-online-preview\server\target\kkFileView-3.5.1\bin下,双击运行startup.bat即可运行服务(需要Java环境的支持)

一、在后台将office文档转换为pdf,然后在浏览器中或者插件中查看

  1、使用apache openoffice,下载地址:http://www.openoffice.org/zh-cn/download/

   Java实现参考:https://blog.csdn.net/tan313/article/details/47952055

  2、使用Asponse组件进行转换(优点:无需安装任何软件,直接引用即可使用,缺点:正式版收费,不过有试用版,除此之外,部分文档转换出来后样式错乱)

  下载地址:http://www.componentcn.com/kaifashang/guojikaifashang/2014-06-18/22.html

 

   以转换word文件为PDF文件为例的c#实现代码

//文件位置 string FilePath="D://FilePath//test.doc" //指定转换后的pdf文件存储路径 string savepath=System.Web.Hosting.HostingEnvironment.MapPath("/myPath/"+DateTime.Now.ToString("yyMMddHHmmssff")+".pdf"); //使用Asponse.word的方法进行转换 Document doc = new Document(path); doc.Save(savepath,Asponse.Words.SaveFormat.Pdf);

转换为pdf之后,可以直接使用c#文件读取流将文件以pdf流的形式在浏览器中预览

//直接读取文件流到浏览器展示 FileStream fs = new FileStream(path,FileMode.Open); byte[] buffer = new byte[fs.Length]; fs.Seek(0,SeekOrigin.Begin); fs.Read(buffer,0,buffer.Length); fs.Flush(); fs.Close(); context.Response.ContenType="application/PDF"; context.Response.BinaryWrite(buffer); context.Response.Flush(); context.Response.End();

   也可使用pdf插件进行预览,例如PDF.js

    pdf.js下载地址:http://mozilla.github.io/pdf.js/

    PDF.js支持

    指定文件地址的预览方式

文件预览 $(function () { var url = getPdfPreviewUrl(); //获取pdf预览地址 $("#pdfContainer").attr("src", "../static/pdfjs/web/viewer.html?file="+url+"#page=1"); });

     以文件流的形式展示

1、打开viewer.js,搜索defaultUrl,修改为如下形式 defaultUrl { value:DEFAULT_URL; kind:OptionKind.VIEWER } 2、在viewer.html中,新增,注意要在Viewer.js的引用之前 var DEFAULT_URL=""; VAR CMAPS_URL="../../pdfjs_es5/web/cmaps";//这句代码引用的cmaps包是为了解决部分类型的pdf文件显示不全的问题,例如发票的pdf图片 var PDFData = ""; $.ajax({ type:"post", async:false, mimeType:'text/plain;chartset=x-user-defined', url:"自己的后台请求路径", success:function(data){ PDFData = data; } }) var rawLength = PDFData.length; //将数据流转换为pdf.js能解析的unit8Array类型 var array = new Unit8Array(new ArrayBuffer(rawLength)); for(let i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3